package cn.itcast.nems.studentrecord.dao.entity;

import cn.itcast.nems.common.entity.UUIDEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;

/**
 * <p>
 * 短训升级凭单-行
 * </p>
 *
 * @author zhouwei
 * @since 2023/11/7 9:26 AM
 **/
@TableName(value = "e2_journal_renewal_line")
@Getter
@Setter
public class JournalRenewalLine extends UUIDEntity {
    /**
     * 升班凭单ID
     */
    private String journalRenewalId;
    /**
     * 需要升班的基础班学籍ID;通过该学籍ID获取学生ID、学号、姓名等信息。不冗余学生字段的原因在于学籍上的学生ID可能会因为合并学生而变更！
     */
    private String originStudentRecordId;
    /**
     * 需要升班的基础班ID
     */
    private Integer originClazzId;
    /**
     * 需要升班的基础班名称
     */
    private String originClazzName;
    /**
     * 需要升班的基础班出班日期
     */
    private LocalDate originClazzOutDate;
    /**
     * 升班目标就业班购买原始金额
     */
    private Integer targetClazzOriginalAmount;
    /**
     * 升班目标就业班优惠金额合计
     */
    private Integer targetClazzDiscountAmount;
    /**
     * 升班目标就业班应付金额
     */
    private Integer targetClazzAmountDue;
    /**
     * 升班目标班级预计入班日期
     */
    private LocalDate targetClazzInDate;
    /**
     * 学籍升级状态;枚举值：待审核｜PENDING、处理中｜ORDER_CREATING、升级订单创建成功｜ORDER_CREATED、升级订单创建失败｜ORDER_FAILED、升级订单支付中｜ORDER_PAYING、升级订单已完成支付｜ORDER_PAID、升级订单已取消｜ORDER_CANCELED。注：用于异步处理升级业务时标记单个学籍的状态
     */
    private String state;

}
